<?php

require 'config.php';
require CAMINHO_SERVIDOR.'funcoes.php';
require 'dao/amigoDAO.class.php';
if (isset($_GET['id_usuario']) && intval($_GET['id_usuario'])) {

    /* soak in the passed variable or set our own */
    $number_of_posts = isset($_GET['num']) ? intval($_GET['num']) : 10; //10 is the default
    $format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is the default
    $id_usuario_amigo = $_GET['id_amigo'];
    $acao = $_GET['acao'];
    $listagem = $_GET['listagem'];
    $id_usuario = $_GET['id_usuario'];
    $pagina = (isset($_GET['pag'])) ? $_GET['pag'] : 1;
    $amigoDao = new amigoDAO();

    $result = false;
    //aceitar desafio
    if ($acao == 1) {
        $result = $amigoDao->aceitarDesafio($id_usuario, $id_usuario_amigo);

        if (empty($result)) {
            $msg[] = array('msg' => "Ocorreu um problema, desafio de #NOME# não aceito, tente novamente!", 'msg_tipo' => "2");
        } else {
            $msg[] = array('msg' => "Você aceitou o desafio de #NOME#.", 'msg_tipo' => "1");
        }

        //recusar desafio
    } elseif ($acao == 2) {
        $result = $amigoDao->recusarDesafio($id_usuario, $id_usuario_amigo);
        if (empty($result)) {
            $msg[] = array('msg' => "Ocorreu um problema, desafio de #NOME# não recusado, tente novamente!", 'msg_tipo' => "2");
        } else {
            $msg[] = array('msg' => "Você recusou o desafio de #NOME#.", 'msg_tipo' => "2");
        }
        //excluir amigo
    } elseif ($acao == 3) {
        $result = $amigoDao->excluirAmigo($id_usuario, $id_usuario_amigo);
        if (empty($result)) {
            $msg[] = array('msg' => "Ocorreu um problema, #NOME# não foi excluído(a), tente novamente!", 'msg_tipo' => "2");
        } else {
            $msg[] = array('msg' => "#NOME# foi excluído(a) da lista de adversários.", 'msg_tipo' => "2");
        }
    }

    $result = null;
    if ($listagem == 1) {
        $query = "SELECT usu.id_usuario,usu.nome,usu.telefone,usu.id_user_facebook FROM tb_amigos am INNER JOIN tb_usuario usu ON usu.id_usuario=am.id_usuario_amigo WHERE  am.id_usuario =" . $id_usuario . "
                UNION ALL 
                SELECT usu.id_usuario,usu.nome,usu.telefone,usu.id_user_facebook FROM tb_amigos am INNER JOIN tb_usuario usu ON usu.id_usuario=am.id_usuario WHERE  am.id_usuario_amigo=" . $id_usuario;
        $queryCount1 = "SELECT COUNT(usu.id_usuario) as total FROM tb_amigos am INNER JOIN tb_usuario usu ON usu.id_usuario=am.id_usuario_amigo WHERE  am.id_usuario =" . $id_usuario;
        $queryCount2 = "SELECT COUNT(usu.id_usuario) as total FROM tb_amigos am INNER JOIN tb_usuario usu ON usu.id_usuario=am.id_usuario WHERE  am.id_usuario_amigo=" . $id_usuario;
    } elseif ($listagem == 2) {
        $query = "SELECT usu.id_usuario, usu.nome, usu.telefone,usu.id_user_facebook FROM tb_amigos_pendentes amp INNER JOIN tb_usuario usu ON usu.id_usuario = amp.id_usuario WHERE amp.id_usuario<>" . $id_usuario . " AND amp.id_amigo_pendente = " . $id_usuario;
        $queryCount = "SELECT COUNT(usu.id_usuario) as total FROM tb_amigos_pendentes amp INNER JOIN tb_usuario usu ON usu.id_usuario = amp.id_usuario WHERE amp.id_usuario<>" . $id_usuario . " AND amp.id_amigo_pendente = " . $id_usuario;
    }

    $registros = LIMITE_REGISTROS_PAGINA_AMIGOS;
    if ($listagem == 1) {
        $total1 = $amigoDao->executaQueryRow($queryCount1);
        $total1 = $total1['total'];
        $total2 = $amigoDao->executaQueryRow($queryCount2);
        $total2 = $total2['total'];
        $total = $total1 + $total2;
    } else {
        $total = $amigoDao->executaQueryRow($queryCount);
        $total = $total['total'];
    }
    $numPaginas = ceil($total / $registros);
    $inicio = ($registros * $pagina) - $registros;

    $query.=" LIMIT " . $inicio . "," . $registros;
    $posts = $amigoDao->executaQueryAll($query);

    if (empty($msg)) {
        $msg[] = array('msg' => "");
    }
    $pag[] = array('pag' => $pagina, 'numPag' => $numPaginas);
    if ($format == 'json') {
        header('Content-type: application/json');
        echo json_encode(array('posts' => $posts, 'msgs' => $msg, 'pags' => $pag));
    } else {
        header('Content-type: text/xml');
        echo '<posts>';
        foreach ($posts as $index => $post) {
            if (is_array($post)) {
                foreach ($post as $key => $value) {
                    echo '<', $key, '>';
                    if (is_array($value)) {
                        foreach ($value as $tag => $val) {
                            echo '<', $tag, '>', htmlentities($val), '</', $tag, '>';
                        }
                    }
                    echo '</', $key, '>';
                }
            }
        }
        echo '</posts>';
    }

    /* disconnect from the db */
    $amigoDao->fecharConexao();
}
?>